iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 28
0
Modern Web

與WordPress的邂逅,像極了愛情!系列 第 28

會員管理網站實作篇 - (以律師諮詢平台為例子) part 2

  • 分享至 

  • xImage
  •  

大綱

  • sitemap 架構
  • 安裝 Ultimate Member plugin
  • UM三大表單
  • 實作律師卡片呈現頁
  • 加入 User Role Editor plugin 了解權限

初始 WP 頁面只會有此兩個頁
https://ithelp.ithome.com.tw/upload/images/20201012/20130334E3gjPoUhZS.png

接著我們來裝裝 UM 看看頁面上產生什麼變化。

安裝ultimate member

ultimate member (簡稱UM),在會員管理 – Ultimate Member – User Profile & Membership Plugin 中我們有聊過這個外掛,現在我們需要更應用層面去實作他。
正確使用 UM 需要讓 UM 幫忙新增頁面,這邊我們就直接把 UM 當作像是 ruby on rails 的 scaffold 框架去使用

https://ithelp.ithome.com.tw/upload/images/20201012/201303344bhGSz8Faw.png

不用五秒,產生了一堆相關頁面

https://ithelp.ithome.com.tw/upload/images/20201012/20130334XXTPWFRUJ2.png!

但是回到前端去看,會發現頁面有些邏輯不通地方,例如註冊、登入、會員列表、帳號管理此時都在,而邏輯應該是:

  • 登入前看到:註冊、登入
  • 登入後看到:登出、會員列表、帳號管理

故後續我們需要處理這些問題。


UM三大表單

  • 註冊 (Default Registration) 表單
  • 會員檔案 (Default Profile) 表單
  • 登入 (Default Login) 表單

https://ithelp.ithome.com.tw/upload/images/20201012/20130334vEG8Fige4w.png

此三大表單提供我們相對的彈性進行客製化,尤其在註冊和登入表單,是蠻需要客製化的部分,這邊我們特別來看一下:

登入表單
會員表單相對單純,前端以帳號和密碼進行登入,假如沒註冊過也提供註冊按鈕,假如忘記密碼這重新進行密碼更正,流程為:

  • Step1 輸入帳號
  • Step2 系統發送重置密碼信至註冊信箱

https://ithelp.ithome.com.tw/upload/images/20201012/20130334PU4r5P9ESx.png

信箱會收到:

https://ithelp.ithome.com.tw/upload/images/20201012/201303347WXyQ8VPSs.png

(這邊要注意,假如沒收到驗證信有很大可能是沒有完成 SMTP 服務開通,有興趣者再請參考 了解 WordPress SMTP 外掛)

  • Step 3 輸入新密碼後進行密碼更正
    這邊也讓我們確認 password-reset.php 是沒問題的。

註冊表單
UM會提供基本(預設)的註冊頁面選項,如果需要的話我們都能再額外CRUD這些註冊欄位,其中 密碼 與 密碼確認 都是必填欄位(required column),選項包含:

  • 會員名稱
  • 名字
  • 姓氏
  • 電子郵件地址
  • 密碼
  • 確認 Password

https://ithelp.ithome.com.tw/upload/images/20201012/20130334ZNVpKu7CMw.png

這邊我們想盡量簡化註冊流程,所以把姓名部分都拿掉,密碼也改成純數字可以註冊的表單,簡化整體流程,前端最後呈現樣子為:

https://ithelp.ithome.com.tw/upload/images/20201012/20130334xgFDRSwwan.png

看起來合乎我們想像的,相當理想~

會員檔案表單
UM 在後端是沒有提供任何會員表單部分的欄位,但是在前端其實可以看到它幫我們提供了 大頭照、封面照、介紹 textbox 等部分

https://ithelp.ithome.com.tw/upload/images/20201012/20130334yrfrxXANl0.png

補充:介紹 textbox 會將資料存在 DB 中 wp_usermeta table中的 metakey 欄位=description中的 meta_value 欄位。

接著我們預計產生以下欄位,供律師會員進行編輯個人頁面,包含:

  • 名字:真實中文姓名,選用 textbox
  • 學經歷:最高學歷,選用 textbox
  • 法律專業領域:選用 textarea
  • 經辦過的法律案件:選用 textarea
  • 個人網站網址 :也可以是事務所網址,選用 URL,並且增加網頁驗證 (Validate)
    我們在後台新增這些欄位

https://ithelp.ithome.com.tw/upload/images/20201012/20130334mu5XsyoaUc.png

並且在前台檢查是否順利出現欄位

https://ithelp.ithome.com.tw/upload/images/20201012/20130334OsV1G3bZt7.png

接著進行測試,更新我們的user資料,查看是否順利:

https://ithelp.ithome.com.tw/upload/images/20201012/20130334b5txedNxsq.png

看起來一切完美,各種格式的資料更新上都沒遇到太大問題,如此,會員檔案的C(Create)和U(Update)都順利。


sitemap頁面完成度檢驗

已完成

  • 註冊頁面 (/register)
  • 登入頁面 (/login)
  • 登出頁面 (/logout)
  • 重置密碼頁面 (/password-reset)
  • 客製化會員編輯頁面 (/post.php?post=id&action=edit)
  • 會員呈現頁面 (/user/user帳號)
  • 會員帳戶編輯頁面 (/account/general/)
  • 會員密碼編輯頁面 (/account/password/)
  • 會員隱私設定編輯頁面 (/account/privacy/)

待完成

  • 首頁 (/members)

一些頁面例如 登出頁會員隱私設定編輯頁面,或是重複功能的頁面 會員密碼編輯頁面 ,我們這邊不過多做呈現和講解,因為相對較單純也不太會出大問題。


上一篇
會員管理網站實作篇 - (以律師諮詢平台為例子) part 1
下一篇
會員管理網站實作篇- (以律師諮詢平台為例子) part3
系列文
與WordPress的邂逅,像極了愛情!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言